1. Field of the Invention
The present invention relates to disk drives. More particularly, the present invention relates to a disk drive estimating angular position of spindle motor during spin-up by computing differences in winding current rise times.
2. Description of the Prior Art
FIG. 1 shows a prior art disk drive 2 comprising a disk 4 having a plurality of tracks, a head 6, a voice coil motor 8 for actuating the head 6 radially over the disk 4, and an interface 10 for receiving a primary supply voltage 12 and a secondary supply voltage 14 from a host computer. The disk drive 2 further comprises a multi-phase spindle motor 16 for rotating the disk 4, the multi-phase spindle motor 16 comprising a plurality of windings (e.g., φA, φB, φC), each winding comprising a first end and a second end, the second ends connected together at a center tap 18. A spindle driver 20, responsive to the primary supply voltage 12, commutates the windings over commutation intervals. The spindle motor 16 is shown as comprising three windings (φA, φB, φC) corresponding to three phases. However, any suitable number of windings may be employed to implement any suitable multi-phase spindle motor. Further, any suitable commutation sequence may be employed to commutate the windings. For example, the commutation logic 22 may control switches 23 to commutate the windings of the spindle motor 16 in a two-phase, three-phase, or hybrid two-phase/three-phase commutation sequence.
Disk control circuitry 24 communicates with the host computer over interface 11 and executes various operations (e.g., servo control, read/write channel, etc.) to perform read and write commands. The disk control circuitry 24 generates a control signal 26 and a pulse width modulated (PWM) signal 28 applied to the spindle driver 22. The control signal 26 comprises control information (such as a starting state and a commutation clock), and the PWM signal 28 is used to modulate the driving current in the windings. The windings are connected to a back EMF detector 30 which detects threshold crossings (e.g., zero crossings) in the back EMF voltage generated by the windings with respect to the center tap 18. Since the back EMF voltage is distorted when current is flowing, the spindle driver 20 supplies a control signal 32 to the back EMF detector 30 identifying the “open” winding generating a valid back EMF signal. At each back EMF threshold crossing the back EMF detector 30 toggles a signal to generate a square wave signal 34. The frequency of the back EMF threshold crossings and thus the frequency of the square wave signal 34 represent the speed of the spindle motor 16. The disk control circuitry 24 evaluates the square wave signal 34 and adjusts the PWM signal 28 in order to control the speed of the spindle motor 16.
The disk drive 2 of FIG. 1 further comprises a voice coil motor (VCM) driver 36 responsive to the primary and secondary supply voltages 12 and 14. The VCM driver 36 applies the primary supply voltage 12 to the voice coil motor 8 through driver 37 either in a linear power amplifier mode or in a modulated sequence (e.g., PWM) to control the speed of the voice coil motor 8 while actuating the head 6 radially over the disk 4. The secondary supply voltage 14 powers circuitry within the VCM driver 36 as well as other circuitry within the disk drive 2, such as the spindle driver 20 and disk control circuitry 24. In one embodiment, the primary supply voltage 12 comprises twelve volts and the secondary supply voltage 14 comprises five volts. In an alternative embodiment, the disk drive 2 receives a single supply voltage (e.g., five volts) for driving the VCM 8 and spindle motor 16 and for powering circuitry in the disk drive 2.
When the disk drive 2 is powered on, the disk control circuitry 24 performs a “spin-up” operation to spin the spindle motor 16 up to speed. At low speeds the back EMF voltages generated by the spindle motor 16 do not provide a reliable estimate of velocity. Therefore, the disk control circuitry 24 typically estimates the velocity of the spindle motor 16 during the spin up operation by evaluating the rise times in the winding currents to estimate the angular position of the spindle motor 16 (and taking the derivative to estimate velocity). Once the velocity of the spindle motor 16 exceeds a predetermined threshold, the disk control circuitry 24 switches to the back EMF voltages for estimating the velocity and control the speed of the spindle motor 16 in a closed loop servo system.
It is known to evaluate the winding current rise times to estimate the velocity of the spindle motor 16 during spin-up. For example, U.S. Pat. No. 5,530,326 discloses a technique wherein the primary voltage 12 is applied to each phase of the spindle motor 16 and the corresponding current rise time is measured. Since the inductance of each phase varies depending on the angular position of the rotor with respect to the stator, the relative durations in the winding current rise times for each phase provides a rough estimate of the angular position of the rotor. This rough estimate of angular position can be used to clock the commutation sequence as well as estimate the velocity for switching to back EMF feedback control. For example, the phase which generates the shortest rise time may be energized first since it is considered to be aligned closest with the magnetic fields emanating from the rotor magnets. However, estimating the angular position by finding the shortest winding current rise time provides only a “quadrant” position with a ±30 electrical degree of uncertainty. This uncertainty leads to errors in clocking the commutation sequence and increases the target exit velocity for switching to back EMF control, thereby increasing the overall spin-up time.
U.S. Pat. No. 6,100,656 discloses an inductive sense technique for measuring a more exact angular position of the spindle motor during spin-up by computing sinusoidal components of forward current and reverse current rise times in each phase of the spindle motor. However, measuring the rise time for both a forward current and a reverse current increases the delay required to estimate the angular position of the spindle motor, which degrades performance of the spin-up operation particularly if implemented using a closed loop servo system.
There is, therefore, a need for a simple, relatively fast technique for measuring the angular position of a spindle motor to facilitate a spin-up operation in a disk drive.